[INFO] cloning repository https://github.com/exmacxhinanetwork/dirhashmake
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/exmacxhinanetwork/dirhashmake" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fexmacxhinanetwork%2Fdirhashmake", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fexmacxhinanetwork%2Fdirhashmake'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 471f44c4503a089ac6e61e3d2cc10dfb05d3ec57
[INFO] testing exmacxhinanetwork/dirhashmake against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fexmacxhinanetwork%2Fdirhashmake" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/exmacxhinanetwork/dirhashmake
[INFO] finished tweaking git repo https://github.com/exmacxhinanetwork/dirhashmake
[INFO] tweaked toml for git repo https://github.com/exmacxhinanetwork/dirhashmake written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/exmacxhinanetwork/dirhashmake on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/exmacxhinanetwork/dirhashmake already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0b21b74a20c538f80bb98aff8f35bc1ec35340912c91a18949f464f75956c68c
[INFO] running `Command { std: "docker" "start" "-a" "0b21b74a20c538f80bb98aff8f35bc1ec35340912c91a18949f464f75956c68c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0b21b74a20c538f80bb98aff8f35bc1ec35340912c91a18949f464f75956c68c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b21b74a20c538f80bb98aff8f35bc1ec35340912c91a18949f464f75956c68c", kill_on_drop: false }`
[INFO] [stdout] 0b21b74a20c538f80bb98aff8f35bc1ec35340912c91a18949f464f75956c68c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 584faa997ced753e848cc6b72c7aea43ce1be3d1e6350a866e0da68f0d196285
[INFO] running `Command { std: "docker" "start" "-a" "584faa997ced753e848cc6b72c7aea43ce1be3d1e6350a866e0da68f0d196285", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling dirhashmake v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.43s
[INFO] running `Command { std: "docker" "inspect" "584faa997ced753e848cc6b72c7aea43ce1be3d1e6350a866e0da68f0d196285", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "584faa997ced753e848cc6b72c7aea43ce1be3d1e6350a866e0da68f0d196285", kill_on_drop: false }`
[INFO] [stdout] 584faa997ced753e848cc6b72c7aea43ce1be3d1e6350a866e0da68f0d196285
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1e88eeefa63688bae7335caf0362d81c3d853089b36d3bbd33f72680d9964dac
[INFO] running `Command { std: "docker" "start" "-a" "1e88eeefa63688bae7335caf0362d81c3d853089b36d3bbd33f72680d9964dac", kill_on_drop: false }`
[INFO] [stderr]    Compiling dirhashmake v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.63s
[INFO] running `Command { std: "docker" "inspect" "1e88eeefa63688bae7335caf0362d81c3d853089b36d3bbd33f72680d9964dac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e88eeefa63688bae7335caf0362d81c3d853089b36d3bbd33f72680d9964dac", kill_on_drop: false }`
[INFO] [stdout] 1e88eeefa63688bae7335caf0362d81c3d853089b36d3bbd33f72680d9964dac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e6c30533fc98dba6bcf9f753eae4f3e0cb976a00b40e798a40032e2ac3275baf
[INFO] running `Command { std: "docker" "start" "-a" "e6c30533fc98dba6bcf9f753eae4f3e0cb976a00b40e798a40032e2ac3275baf", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/dirhashmake-33c8626675e3bebb)
[INFO] [stdout] 
[INFO] [stdout] running 39 tests
[INFO] [stdout] path,type,sha256,size,modified,link_target
[INFO] [stdout] file.txt,file,abc123def456,1024,,
[INFO] [stdout] sub,dir,,,,
[INFO] [stdout] link,symlink,,,,file.txt
[INFO] [stdout] <!DOCTYPE html>
[INFO] [stdout] <html lang="en">
[INFO] [stdout] <head>
[INFO] [stdout]   <meta charset="UTF-8">
[INFO] [stdout]   <meta name="viewport" content="width=device-width, initial-scale=1.0">
[INFO] [stdout]   <title>dirhashmake - Directory Hash Report</title>
[INFO] [stdout]   <style>
[INFO] [stdout]     :root {
[INFO] [stdout]       --bg: #0f1117;
[INFO] [stdout]       --surface: #1a1d27;
[INFO] [stdout]       --border: #2a2d3a;
[INFO] [stdout]       --text: #e2e4eb;
[INFO] [stdout]       --text-dim: #8b8fa3;
[INFO] [stdout]       --accent: #6c72cb;
[INFO] [stdout]       --file: #4ade80;
[INFO] [stdout]       --dir: #facc15;
[INFO] [stdout]       --symlink: #f472b6;
[INFO] [stdout]       --mono: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;
[INFO] [stdout]       --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
[INFO] [stdout]     }
[INFO] [stdout]     * { margin: 0; padding: 0; box-sizing: border-box; }
[INFO] [stdout]     body {
[INFO] [stdout]       font-family: var(--sans);
[INFO] [stdout]       background: var(--bg);
[INFO] [stdout]       color: var(--text);
[INFO] [stdout]       line-height: 1.6;
[INFO] [stdout]       padding: 2rem;
[INFO] [stdout]       max-width: 1200px;
[INFO] [stdout]       margin: 0 auto;
[INFO] [stdout]     }
[INFO] [stdout]     h1 {
[INFO] [stdout]       font-size: 1.5rem;
[INFO] [stdout]       font-weight: 600;
[INFO] [stdout]       margin-bottom: 0.5rem;
[INFO] [stdout]       color: var(--accent);
[INFO] [stdout]     }
[INFO] [stdout]     .subtitle {
[INFO] [stdout]       color: var(--text-dim);
[INFO] [stdout]       font-size: 0.875rem;
[INFO] [stdout]       margin-bottom: 1.5rem;
[INFO] [stdout]     }
[INFO] [stdout]     .stats {
[INFO] [stdout]       display: grid;
[INFO] [stdout]       grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
[INFO] [stdout]       gap: 1rem;
[INFO] [stdout]       margin-bottom: 2rem;
[INFO] [stdout]     }
[INFO] [stdout]     .stat {
[INFO] [stdout]       background: var(--surface);
[INFO] [stdout]       border: 1px solid var(--border);
[INFO] [stdout]       border-radius: 8px;
[INFO] [stdout]       padding: 1rem;
[INFO] [stdout]       text-align: center;
[INFO] [stdout]     }
[INFO] [stdout]     .stat-value {
[INFO] [stdout]       font-size: 1.5rem;
[INFO] [stdout]       font-weight: 700;
[INFO] [stdout]       font-family: var(--mono);
[INFO] [stdout]     }
[INFO] [stdout]     .stat-label {
[INFO] [stdout]       font-size: 0.75rem;
[INFO] [stdout]       color: var(--text-dim);
[INFO] [stdout]       text-transform: uppercase;
[INFO] [stdout]       letter-spacing: 0.05em;
[INFO] [stdout]     }
[INFO] [stdout]     .stat-files .stat-value { color: var(--file); }
[INFO] [stdout]     .stat-dirs .stat-value { color: var(--dir); }
[INFO] [stdout]     .stat-symlinks .stat-value { color: var(--symlink); }
[INFO] [stdout]     .stat-size .stat-value { color: var(--accent); }
[INFO] [stdout]     table {
[INFO] [stdout]       width: 100%;
[INFO] [stdout]       border-collapse: collapse;
[INFO] [stdout]       font-size: 0.875rem;
[INFO] [stdout]     }
[INFO] [stdout]     th {
[INFO] [stdout]       text-align: left;
[INFO] [stdout]       padding: 0.75rem 1rem;
[INFO] [stdout]       background: var(--surface);
[INFO] [stdout]       border-bottom: 2px solid var(--border);
[INFO] [stdout]       color: var(--text-dim);
[INFO] [stdout]       font-weight: 600;
[INFO] [stdout]       text-transform: uppercase;
[INFO] [stdout]       font-size: 0.7rem;
[INFO] [stdout]       letter-spacing: 0.05em;
[INFO] [stdout]       position: sticky;
[INFO] [stdout]       top: 0;
[INFO] [stdout]     }
[INFO] [stdout]     td {
[INFO] [stdout]       padding: 0.6rem 1rem;
[INFO] [stdout]       border-bottom: 1px solid var(--border);
[INFO] [stdout]       font-family: var(--mono);
[INFO] [stdout]       font-size: 0.8rem;
[INFO] [stdout]     }
[INFO] [stdout]     tr:hover td { background: rgba(108, 114, 203, 0.05); }
[INFO] [stdout]     .type-badge {
[INFO] [stdout]       display: inline-block;
[INFO] [stdout]       padding: 0.15rem 0.5rem;
[INFO] [stdout]       border-radius: 4px;
[INFO] [stdout]       font-size: 0.7rem;
[INFO] [stdout]       font-weight: 600;
[INFO] [stdout]       text-transform: uppercase;
[INFO] [stdout]     }
[INFO] [stdout]     .type-file { background: rgba(74, 222, 128, 0.15); color: var(--file); }
[INFO] [stdout]     .type-dir { background: rgba(250, 204, 21, 0.15); color: var(--dir); }
[INFO] [stdout]     .type-symlink { background: rgba(244, 114, 182, 0.15); color: var(--symlink); }
[INFO] [stdout]     .hash { color: var(--text-dim); }
[INFO] [stdout]     .hash-empty { color: var(--border); font-style: italic; }
[INFO] [stdout]     .size { color: var(--text-dim); text-align: right; }
[INFO] [stdout]     .link-target { color: var(--accent); }
[INFO] [stdout]     .footer {
[INFO] [stdout]       margin-top: 2rem;
[INFO] [stdout]       padding-top: 1rem;
[INFO] [stdout]       border-top: 1px solid var(--border);
[INFO] [stdout]       color: var(--text-dim);
[INFO] [stdout]       font-size: 0.75rem;
[INFO] [stdout]       text-align: center;
[INFO] [stdout]     }
[INFO] [stdout]     @media (max-width: 768px) {
[INFO] [stdout]       body { padding: 1rem; }
[INFO] [stdout]       table { font-size: 0.75rem; }
[INFO] [stdout]       td, th { padding: 0.5rem; }
[INFO] [stdout]       .stats { grid-template-columns: repeat(2, 1fr); }
[INFO] [stdout]     }
[INFO] [stdout]   </style>
[INFO] [stdout] </head>
[INFO] [stdout] <body>
[INFO] [stdout]   <h1>Directory Hash Report</h1>
[INFO] [stdout]   <p class="subtitle">Generated by dirhashmake</p>
[INFO] [stdout]   <div class="stats">
[INFO] [stdout]     <div class="stat stat-files">
[INFO] [stdout]       <div class="stat-value">1</div>
[INFO] [stdout]       <div class="stat-label">Files</div>
[INFO] [stdout]     </div>
[INFO] [stdout]     <div class="stat stat-dirs">
[INFO] [stdout]       <div class="stat-value">1</div>
[INFO] [stdout]       <div class="stat-label">Directories</div>
[INFO] [stdout]     </div>
[INFO] [stdout]     <div class="stat stat-symlinks">
[INFO] [stdout]       <div class="stat-value">1</div>
[INFO] [stdout]       <div class="stat-label">Symlinks</div>
[INFO] [stdout]     </div>
[INFO] [stdout]     <div class="stat stat-size">
[INFO] [stdout]       <div class="stat-value">1.00 KiB</div>
[INFO] [stdout]       <div class="stat-label">Total Size</div>
[INFO] [stdout]     </div>
[INFO] [stdout]   </div>
[INFO] [stdout]   <table>
[INFO] [stdout]     <thead>
[INFO] [stdout]       <tr>
[INFO] [stdout]         <th>Path</th>
[INFO] [stdout]         <th>Type</th>
[INFO] [stdout]         <th>SHA-256</th>
[INFO] [stdout]         <th>Size</th>
[INFO] [stdout]         <th>Modified</th>
[INFO] [stdout]         <th>Link Target</th>
[INFO] [stdout]       </tr>
[INFO] [stdout]     </thead>
[INFO] [stdout]     <tbody>
[INFO] [stdout]       <tr>
[INFO] [stdout]         <td>file.txt</td>
[INFO] [stdout]         <td><span class="type-badge type-file">file</span></td>
[INFO] [stdout]         <td><span class="hash">abc123def456</span></td>
[INFO] [stdout]         <td><span class="size">1024</span></td>
[INFO] [stdout]         <td><span class="modified">—</span></td>
[INFO] [stdout]         <td><span class="link-target">—</span></td>
[INFO] [stdout]       </tr>
[INFO] [stdout]       <tr>
[INFO] [stdout]         <td>sub</td>
[INFO] [stdout]         <td><span class="type-badge type-dir">dir</span></td>
[INFO] [stdout]         <td><span class="hash-empty">—</span></td>
[INFO] [stdout]         <td><span class="size">—</span></td>
[INFO] [stdout]         <td><span class="modified">—</span></td>
[INFO] [stdout]         <td><span class="link-target">—</span></td>
[INFO] [stdout]       </tr>
[INFO] [stdout]       <tr>
[INFO] [stdout]         <td>link</td>
[INFO] [stdout]         <td><span class="type-badge type-symlink">symlink</span></td>
[INFO] [stdout]         <td><span class="hash-empty">—</span></td>
[INFO] [stdout]         <td><span class="size">—</span></td>
[INFO] [stdout]         <td><span class="modified">—</span></td>
[INFO] [stdout]         <td><span class="link-target">file.txt</span></td>
[INFO] [stdout]       </tr>
[INFO] [stdout]     </tbody>
[INFO] [stdout]   </table>
[INFO] [stdout]   <div class="footer">
[INFO] [stdout]     3 entries &middot; Generated by dirhashmake
[INFO] [stdout]   </div>
[INFO] [stdout] </body>
[INFO] [stdout] </html>
[INFO] [stdout] path,type,sha256,size,modified,link_target
[INFO] [stdout] file.txt,file,abc123def456,1024,,
[INFO] [stdout] sub,dir,,,,
[INFO] [stdout] link,symlink,,,,file.txt
[INFO] [stdout] -- dirhashmake SQL export
[INFO] [stdout] -- Generated by dirhashmake
[INFO] [stdout] 
[INFO] [stdout] CREATE TABLE IF NOT EXISTS file_hashes (
[INFO] [stdout]     path TEXT NOT NULL,
[INFO] [stdout]     type TEXT NOT NULL,
[INFO] [stdout]     sha256 TEXT,
[INFO] [stdout]     size INTEGER,
[INFO] [stdout]     modified TEXT,
[INFO] [stdout]     link_target TEXT
[INFO] [stdout] );
[INFO] [stdout] 
[INFO] [stdout] INSERT INTO file_hashes (path, type, sha256, size, modified, link_target) VALUES ('file.txt', 'file', abc123def456, 1024, NULL, NULL);
[INFO] [stdout] INSERT INTO file_hashes (path, type, sha256, size, modified, link_target) VALUES ('sub', 'dir', NULL, NULL, NULL, NULL);
[INFO] [stdout] INSERT INTO file_hashes (path, type, sha256, size, modified, link_target) VALUES ('link', 'symlink', NULL, NULL, NULL, file.txt);
[INFO] [stdout] <!DOCTYPE html>
[INFO] [stdout] <html lang="en">
[INFO] [stdout] <head>
[INFO] [stdout]   <meta charset="UTF-8">
[INFO] [stdout]   <meta name="viewport" content="width=device-width, initial-scale=1.0">
[INFO] [stdout]   <title>dirhashmake - Directory Hash Report</title>
[INFO] [stdout]   <style>
[INFO] [stdout]     :root {
[INFO] [stdout]       --bg: #0f1117;
[INFO] [stdout]       --surface: #1a1d27;
[INFO] [stdout]       --border: #2a2d3a;
[INFO] [stdout]       --text: #e2e4eb;
[INFO] [stdout]       --text-dim: #8b8fa3;
[INFO] [stdout]       --accent: #6c72cb;
[INFO] [stdout]       --file: #4ade80;
[INFO] [stdout]       --dir: #facc15;
[INFO] [stdout]       --symlink: #f472b6;
[INFO] [stdout]       --mono: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;
[INFO] [stdout]       --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
[INFO] [stdout]     }
[INFO] [stdout]     * { margin: 0; padding: 0; box-sizing: border-box; }
[INFO] [stdout]     body {
[INFO] [stdout]       font-family: var(--sans);
[INFO] [stdout]       background: var(--bg);
[INFO] [stdout]       color: var(--text);
[INFO] [stdout]       line-height: 1.6;
[INFO] [stdout]       padding: 2rem;
[INFO] [stdout]       max-width: 1200px;
[INFO] [stdout]       margin: 0 auto;
[INFO] [stdout]     }
[INFO] [stdout]     h1 {
[INFO] [stdout]       font-size: 1.5rem;
[INFO] [stdout]       font-weight: 600;
[INFO] [stdout]       margin-bottom: 0.5rem;
[INFO] [stdout]       color: var(--accent);
[INFO] [stdout]     }
[INFO] [stdout]     .subtitle {
[INFO] [stdout]       color: var(--text-dim);
[INFO] [stdout]       font-size: 0.875rem;
[INFO] [stdout]       margin-bottom: 1.5rem;
[INFO] [stdout]     }
[INFO] [stdout]     .stats {
[INFO] [stdout]       display: grid;
[INFO] [stdout]       grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
[INFO] [stdout]       gap: 1rem;
[INFO] [stdout]       margin-bottom: 2rem;
[INFO] [stdout]     }
[INFO] [stdout]     .stat {
[INFO] [stdout]       background: var(--surface);
[INFO] [stdout]       border: 1px solid var(--border);
[INFO] [stdout]       border-radius: 8px;
[INFO] [stdout]       padding: 1rem;
[INFO] [stdout]       text-align: center;
[INFO] [stdout]     }
[INFO] [stdout]     .stat-value {
[INFO] [stdout]       font-size: 1.5rem;
[INFO] [stdout]       font-weight: 700;
[INFO] [stdout]       font-family: var(--mono);
[INFO] [stdout]     }
[INFO] [stdout]     .stat-label {
[INFO] [stdout]       font-size: 0.75rem;
[INFO] [stdout]       color: var(--text-dim);
[INFO] [stdout]       text-transform: uppercase;
[INFO] [stdout]       letter-spacing: 0.05em;
[INFO] [stdout]     }
[INFO] [stdout]     .stat-files .stat-value { color: var(--file); }
[INFO] [stdout]     .stat-dirs .stat-value { color: var(--dir); }
[INFO] [stdout]     .stat-symlinks .stat-value { color: var(--symlink); }
[INFO] [stdout]     .stat-size .stat-value { color: var(--accent); }
[INFO] [stdout]     table {
[INFO] [stdout]       width: 100%;
[INFO] [stdout]       border-collapse: collapse;
[INFO] [stdout]       font-size: 0.875rem;
[INFO] [stdout]     }
[INFO] [stdout]     th {
[INFO] [stdout]       text-align: left;
[INFO] [stdout]       padding: 0.75rem 1rem;
[INFO] [stdout]       background: var(--surface);
[INFO] [stdout]       border-bottom: 2px solid var(--border);
[INFO] [stdout]       color: var(--text-dim);
[INFO] [stdout] test cli::tests::test_parse_env_options_malformed ...       font-weight: 600;
[INFO] [stdout]       text-transform: uppercase;
[INFO] [stdout] ok      font-size: 0.7rem;
[INFO] [stdout]       letter-spacing: 0.05em;
[INFO] [stdout] 
[INFO] [stdout]       position: sticky;
[INFO] [stdout]       top: 0;
[INFO] [stdout]     }
[INFO] [stdout]     td {
[INFO] [stdout]       padding: 0.6rem 1rem;
[INFO] [stdout]       border-bottom: 1px solid var(--border);
[INFO] [stdout]       font-family: var(--mono);
[INFO] [stdout]       font-size: 0.8rem;
[INFO] [stdout]     }
[INFO] [stdout]     tr:hover td { background: rgba(108, 114, 203, 0.05); }
[INFO] [stdout]     .type-badge {
[INFO] [stdout]       display: inline-block;
[INFO] [stdout]       padding: 0.15rem 0.5rem;
[INFO] [stdout]       border-radius: 4px;
[INFO] [stdout]       font-size: 0.7rem;
[INFO] [stdout]       font-weight: 600;
[INFO] [stdout]       text-transform: uppercase;
[INFO] [stdout]     }
[INFO] [stdout]     .type-file { background: rgba(74, 222, 128, 0.15); color: var(--file); }
[INFO] [stdout]     .type-dir { background: rgba(250, 204, 21, 0.15); color: var(--dir); }
[INFO] [stdout]     .type-symlink { background: rgba(244, 114, 182, 0.15); color: var(--symlink); }
[INFO] [stdout]     .hash { color: var(--text-dim); }
[INFO] [stdout]     .hash-empty { color: var(--border); font-style: italic; }
[INFO] [stdout]     .size { color: var(--text-dim); text-align: right; }
[INFO] [stdout]     .link-target { color: var(--accent); }
[INFO] [stdout]     .footer {
[INFO] [stdout]       margin-top: 2rem;
[INFO] [stdout]       padding-top: 1rem;
[INFO] [stdout]       border-top: 1px solid var(--border);
[INFO] [stdout]       color: var(--text-dim);
[INFO] [stdout]       font-size: 0.75rem;
[INFO] [stdout]       text-align: center;
[INFO] [stdout]     }
[INFO] [stdout]     @media (max-width: 768px) {
[INFO] [stdout]       body { padding: 1rem; }
[INFO] [stdout]       table { font-size: 0.75rem; }
[INFO] [stdout] test cli::tests::test_parse_env_options_valid ...       td, th { padding: 0.5rem; }
[INFO] [stdout]       .stats { grid-template-columns: repeat(2, 1fr); }
[INFO] [stdout] ok    }
[INFO] [stdout] 
[INFO] [stdout]   </style>
[INFO] [stdout] </head>
[INFO] [stdout] <body>
[INFO] [stdout]   <h1>Directory Hash Report</h1>
[INFO] [stdout]   <p class="subtitle">Generated by dirhashmake</p>
[INFO] [stdout]   <div class="stats">
[INFO] [stdout]     <div class="stat stat-files">
[INFO] [stdout]       <div class="stat-value">1</div>
[INFO] [stdout]       <div class="stat-label">Files</div>
[INFO] [stdout]     </div>
[INFO] [stdout]     <div class="stat stat-dirs">
[INFO] [stdout]       <div class="stat-value">1</div>
[INFO] [stdout]       <div class="stat-label">Directories</div>
[INFO] [stdout]     </div>
[INFO] [stdout]     <div class="stat stat-symlinks">
[INFO] [stdout]       <div class="stat-value">1</div>
[INFO] [stdout]       <div class="stat-label">Symlinks</div>
[INFO] [stdout]     </div>
[INFO] [stdout]     <div class="stat stat-size">
[INFO] [stdout]       <div class="stat-value">1.00 KiB</div>
[INFO] [stdout]       <div class="stat-label">Total Size</div>
[INFO] [stdout]     </div>
[INFO] [stdout]   </div>
[INFO] [stdout]   <table>
[INFO] [stdout] test formatters::tests::test_write_csv_with_format ...     <thead>
[INFO] [stdout] ok      <tr>
[INFO] [stdout] 
[INFO] [stdout]         <th>Path</th>
[INFO] [stdout]         <th>Type</th>
[INFO] [stdout]         <th>SHA-256</th>
[INFO] [stdout]         <th>Size</th>
[INFO] [stdout]         <th>Modified</th>
[INFO] [stdout]         <th>Link Target</th>
[INFO] [stdout]       </tr>
[INFO] [stdout]     </thead>
[INFO] [stdout]     <tbody>
[INFO] [stdout]       <tr>
[INFO] [stdout]         <td>file.txt</td>
[INFO] [stdout]         <td><span class="type-badge type-file">file</span></td>
[INFO] [stdout]         <td><span class="hash">abc123def456</span></td>
[INFO] [stdout] test formatters::tests::test_write_html ...         <td><span class="size">1024</span></td>
[INFO] [stdout]         <td><span class="modified">—</span></td>
[INFO] [stdout] ok        <td><span class="link-target">—</span></td>
[INFO] [stdout] 
[INFO] [stdout]       </tr>
[INFO] [stdout]       <tr>
[INFO] [stdout]         <td>sub</td>
[INFO] [stdout]         <td><span class="type-badge type-dir">dir</span></td>
[INFO] [stdout]         <td><span class="hash-empty">—</span></td>
[INFO] [stdout]         <td><span class="size">—</span></td>
[INFO] [stdout]         <td><span class="modified">—</span></td>
[INFO] [stdout]         <td><span class="link-target">—</span></td>
[INFO] [stdout]       </tr>
[INFO] [stdout]       <tr>
[INFO] [stdout]         <td>link</td>
[INFO] [stdout]         <td><span class="type-badge type-symlink">symlink</span></td>
[INFO] [stdout]         <td><span class="hash-empty">—</span></td>
[INFO] [stdout]         <td><span class="size">—</span></td>
[INFO] [stdout]         <td><span class="modified">—</span></td>
[INFO] [stdout]         <td><span class="link-target">file.txt</span></td>
[INFO] [stdout]       </tr>
[INFO] [stdout]     </tbody>
[INFO] [stdout]   </table>
[INFO] [stdout]   <div class="footer">
[INFO] [stdout]     3 entries &middot; Generated by dirhashmake
[INFO] [stdout] test formatters::tests::test_write_json ...   </div>
[INFO] [stdout] </body>
[INFO] [stdout] ok</html>
[INFO] [stdout] 
[INFO] [stdout] -- dirhashmake SQL export
[INFO] [stdout] -- Generated by dirhashmake
[INFO] [stdout] 
[INFO] [stdout] CREATE TABLE IF NOT EXISTS file_hashes (
[INFO] [stdout]     path TEXT NOT NULL,
[INFO] [stdout]     type TEXT NOT NULL,
[INFO] [stdout]     sha256 TEXT,
[INFO] [stdout]     size INTEGER,
[INFO] [stdout]     modified TEXT,
[INFO] [stdout]     link_target TEXT
[INFO] [stdout] );
[INFO] [stdout] 
[INFO] [stdout] test cli::tests::test_parse_env_options_empty ... INSERT INTO file_hashes (path, type, sha256, size, modified, link_target) VALUES ('file.txt', 'file', abc123def456, 1024, NULL, NULL);
[INFO] [stdout] INSERT INTO file_hashes (path, type, sha256, size, modified, link_target) VALUES ('sub', 'dir', NULL, NULL, NULL, NULL);
[INFO] [stdout] ok
[INFO] [stdout] test formatters::tests::test_export_format_from_str ... ok
[INFO] [stdout] INSERT INTO file_hashes (path, type, sha256, size, modified, link_target) VALUES ('link', 'symlink', NULL, NULL, NULL, file.txt);
[INFO] [stdout] test formatters::tests::test_export_format_display ... ok
[INFO] [stdout] test formatters::tests::test_format_bytes_all ... ok
[INFO] [stdout] test formatters::tests::test_write_output_dispatch ... ok
[INFO] [stdout] test formatters::tests::test_write_yaml ... ok
[INFO] [stdout] test formatters::tests::test_write_sql ... ok
[INFO] [stdout] test formatters::tests::test_write_yaml_to_file ... ok
[INFO] [stdout] test formatters::tests::test_write_json_to_file ... ok
[INFO] [stdout] test formatters::tests::test_write_sql_escaping ... ok
[INFO] [stdout] test formatters::tests::test_write_html_escaping ... ok
[INFO] [stdout] test hasher::tests::test_process_entry_hash_deterministic ... ok
[INFO] [stdout] test formatters::tests::test_write_sql_to_file ... ok
[INFO] [stdout] test hasher::tests::test_process_entry_dir ... ok
[INFO] [stdout] test hasher::tests::test_process_entry_file ... ok
[INFO] [stdout] test formatters::tests::test_write_html_to_file ... ok
[INFO] [stdout] test hasher::tests::test_process_entry_symlink ... ok
[INFO] [stdout] test types::tests::test_entry_clone ... ok
[INFO] [stdout] test types::tests::test_entry_type_equality ... ok
[INFO] [stdout] test scanner::tests::test_collect_entries_nonexistent_dir ... ok
[INFO] [stdout] test hasher::tests::test_process_entry_empty_file ... ok
[INFO] [stdout] test hasher::tests::test_process_entry_nonexistent_file ... ok
[INFO] [stdout] test scanner::tests::test_scan_stats_accuracy ... ok
[INFO] [stdout] test scanner::tests::test_collect_entries_special_chars ... ok
[INFO] [stdout] test scanner::tests::test_collect_entries_recursive_false ... ok
[INFO] [stdout] test scanner::tests::test_collect_entries_unicode_paths ... ok
[INFO] [stdout] test scanner::tests::test_collect_entries_empty_dir ... ok
[INFO] [stdout] test scanner::tests::test_collect_entries_symlink_to_dir_not_followed ... ok
[INFO] [stdout] test scanner::tests::test_collect_entries_max_depth ... ok
[INFO] [stdout] test scanner::tests::test_collect_entries_absolute_paths ... ok
[INFO] [stdout] test scanner::tests::test_collect_entries_sort_order ... ok
[INFO] [stdout] test scanner::tests::test_collect_entries_symlink ... ok
[INFO] [stdout] test scanner::tests::test_collect_entries_with_files ... ok
[INFO] [stdout] test hasher::tests::test_process_entry_permission_denied ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- hasher::tests::test_process_entry_permission_denied stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'hasher::tests::test_process_entry_permission_denied' (42) panicked at src/hasher.rs:193:9:
[INFO] [stdout] Should fail to read file with no permissions
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5bf8f7af34d8 - std[929523f510218772]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5bf8f7af34d8 - std[929523f510218772]::backtrace_rs::backtrace::trace_unsynchronized::<std[929523f510218772]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5bf8f7af34d8 - std[929523f510218772]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5bf8f7af34d8 - <<std[929523f510218772]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[28b146924c2f19c6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5bf8f7b0a6ea - <core[28b146924c2f19c6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5bf8f7b0a6ea - core[28b146924c2f19c6]::fmt::write
[INFO] [stdout]    6:     0x5bf8f7af8c22 - std[929523f510218772]::io::default_write_fmt::<alloc[95e62e727ddf147d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5bf8f7af8c22 - <alloc[95e62e727ddf147d]::vec::Vec<u8> as std[929523f510218772]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5bf8f7acfaf6 - <std[929523f510218772]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5bf8f7acfaf6 - std[929523f510218772]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5bf8f7aea5c9 - std[929523f510218772]::panicking::default_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5bf8f79bda1c - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5bf8f79bda1c - test[6ec0502068880816]::test_main_inner::<test[6ec0502068880816]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5bf8f7aea842 - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5bf8f7aea842 - std[929523f510218772]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5bf8f7acfbe4 - std[929523f510218772]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5bf8f7ac4989 - std[929523f510218772]::sys::backtrace::__rust_end_short_backtrace::<std[929523f510218772]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5bf8f7ad0bdd - __rustc[acf6043c977865fb]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5bf8f7b0aeac - core[28b146924c2f19c6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5bf8f794ac52 - dirhashmake[3e0d00aec526b328]::hasher::tests::test_process_entry_permission_denied::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hasher.rs:193:9
[INFO] [stdout]   20:     0x5bf8f790c122 - <core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>> as core[28b146924c2f19c6]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/future/future.rs:133:9
[INFO] [stdout]   21:     0x5bf8f790c1fd - <core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>> as core[28b146924c2f19c6]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x5bf8f798dfdd - <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/scheduler/current_thread/mod.rs:778:70
[INFO] [stdout]   23:     0x5bf8f798dcab - tokio[25b3d95317fa777a]::task::coop::with_budget::<core[28b146924c2f19c6]::task::poll::Poll<()>, <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/task/coop/mod.rs:167:5
[INFO] [stdout]   24:     0x5bf8f798dcab - tokio[25b3d95317fa777a]::task::coop::budget::<core[28b146924c2f19c6]::task::poll::Poll<()>, <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/task/coop/mod.rs:133:5
[INFO] [stdout]   25:     0x5bf8f798dcab - <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/scheduler/current_thread/mod.rs:778:25
[INFO] [stdout]   26:     0x5bf8f7985dd0 - <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::Context>::enter::<core[28b146924c2f19c6]::task::poll::Poll<()>, <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/scheduler/current_thread/mod.rs:451:19
[INFO] [stdout]   27:     0x5bf8f798b96d - <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/scheduler/current_thread/mod.rs:777:44
[INFO] [stdout]   28:     0x5bf8f798a074 - <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>>::{closure#0}, core[28b146924c2f19c6]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/scheduler/current_thread/mod.rs:865:68
[INFO] [stdout]   29:     0x5bf8f796a62b - <tokio[25b3d95317fa777a]::runtime::context::scoped::Scoped<tokio[25b3d95317fa777a]::runtime::scheduler::Context>>::set::<<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>>::{closure#0}, core[28b146924c2f19c6]::option::Option<()>>::{closure#0}, (alloc[95e62e727ddf147d]::boxed::Box<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::Core>, core[28b146924c2f19c6]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   30:     0x5bf8f7941449 - tokio[25b3d95317fa777a]::runtime::context::set_scheduler::<(alloc[95e62e727ddf147d]::boxed::Box<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::Core>, core[28b146924c2f19c6]::option::Option<()>), <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>>::{closure#0}, core[28b146924c2f19c6]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/context.rs:181:38
[INFO] [stdout]   31:     0x5bf8f7905ad2 - <std[929523f510218772]::thread::local::LocalKey<tokio[25b3d95317fa777a]::runtime::context::Context>>::try_with::<tokio[25b3d95317fa777a]::runtime::context::set_scheduler<(alloc[95e62e727ddf147d]::boxed::Box<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::Core>, core[28b146924c2f19c6]::option::Option<()>), <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>>::{closure#0}, core[28b146924c2f19c6]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[95e62e727ddf147d]::boxed::Box<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::Core>, core[28b146924c2f19c6]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/local.rs:462:12
[INFO] [stdout]   32:     0x5bf8f790519e - <std[929523f510218772]::thread::local::LocalKey<tokio[25b3d95317fa777a]::runtime::context::Context>>::with::<tokio[25b3d95317fa777a]::runtime::context::set_scheduler<(alloc[95e62e727ddf147d]::boxed::Box<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::Core>, core[28b146924c2f19c6]::option::Option<()>), <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>>::{closure#0}, core[28b146924c2f19c6]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[95e62e727ddf147d]::boxed::Box<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::Core>, core[28b146924c2f19c6]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/local.rs:426:20
[INFO] [stdout]   33:     0x5bf8f7940acd - tokio[25b3d95317fa777a]::runtime::context::set_scheduler::<(alloc[95e62e727ddf147d]::boxed::Box<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::Core>, core[28b146924c2f19c6]::option::Option<()>), <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>>::{closure#0}, core[28b146924c2f19c6]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/context.rs:181:17
[INFO] [stdout]   34:     0x5bf8f7988120 - <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>>::{closure#0}, core[28b146924c2f19c6]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/scheduler/current_thread/mod.rs:865:27
[INFO] [stdout]   35:     0x5bf8f7988926 - <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[28b146924c2f19c6]::pin::Pin<&mut core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/scheduler/current_thread/mod.rs:765:24
[INFO] [stdout]   36:     0x5bf8f7989610 - <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/scheduler/current_thread/mod.rs:205:33
[INFO] [stdout]   37:     0x5bf8f7952aa3 - tokio[25b3d95317fa777a]::runtime::context::runtime::enter_runtime::<<tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   38:     0x5bf8f7984fd1 - <tokio[25b3d95317fa777a]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/scheduler/current_thread/mod.rs:193:9
[INFO] [stdout]   39:     0x5bf8f790d704 - <tokio[25b3d95317fa777a]::runtime::runtime::Runtime>::block_on_inner::<core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/runtime.rs:371:52
[INFO] [stdout]   40:     0x5bf8f790da8f - <tokio[25b3d95317fa777a]::runtime::runtime::Runtime>::block_on::<core[28b146924c2f19c6]::pin::Pin<&mut dyn core[28b146924c2f19c6]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/runtime.rs:345:18
[INFO] [stdout]   41:     0x5bf8f794d04f - dirhashmake[3e0d00aec526b328]::hasher::tests::test_process_entry_permission_denied
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hasher.rs:198:46
[INFO] [stdout]   42:     0x5bf8f7947147 - dirhashmake[3e0d00aec526b328]::hasher::tests::test_process_entry_permission_denied::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/hasher.rs:170:52
[INFO] [stdout]   43:     0x5bf8f79305c6 - <dirhashmake[3e0d00aec526b328]::hasher::tests::test_process_entry_permission_denied::{closure#0} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x5bf8f79b0afb - <fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5bf8f79b0afb - test[6ec0502068880816]::__rust_begin_short_backtrace::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stderr] error: test failed, to rerun pass `--bin dirhashmake`
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:724:18
[INFO] [stdout]   46:     0x5bf8f79be375 - test[6ec0502068880816]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:74
[INFO] [stdout]   47:     0x5bf8f79be375 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   48:     0x5bf8f79be375 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   49:     0x5bf8f79be375 - std[929523f510218772]::panicking::catch_unwind::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   50:     0x5bf8f79be375 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   51:     0x5bf8f79be375 - test[6ec0502068880816]::run_test_in_process
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:27
[INFO] [stdout]   52:     0x5bf8f79be375 - test[6ec0502068880816]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:668:43
[INFO] [stdout]   53:     0x5bf8f79b8ed4 - test[6ec0502068880816]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:698:41
[INFO] [stdout]   54:     0x5bf8f79b8ed4 - std[929523f510218772]::sys::backtrace::__rust_begin_short_backtrace::<test[6ec0502068880816]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   55:     0x5bf8f79c13f2 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   56:     0x5bf8f79c13f2 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   57:     0x5bf8f79c13f2 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   58:     0x5bf8f79c13f2 - std[929523f510218772]::panicking::catch_unwind::<(), core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   59:     0x5bf8f79c13f2 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   60:     0x5bf8f79c13f2 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   61:     0x5bf8f79c13f2 - <std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   62:     0x5bf8f7af291f - <alloc[95e62e727ddf147d]::boxed::Box<dyn core[28b146924c2f19c6]::ops::function::FnOnce<(), Output = ()> + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   63:     0x5bf8f7af291f - <std[929523f510218772]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   64:     0x7643486ddaa4 - <unknown>
[INFO] [stdout]   65:     0x76434876aa64 - clone
[INFO] [stdout]   66:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     hasher::tests::test_process_entry_permission_denied
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 38 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e6c30533fc98dba6bcf9f753eae4f3e0cb976a00b40e798a40032e2ac3275baf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6c30533fc98dba6bcf9f753eae4f3e0cb976a00b40e798a40032e2ac3275baf", kill_on_drop: false }`
[INFO] [stdout] e6c30533fc98dba6bcf9f753eae4f3e0cb976a00b40e798a40032e2ac3275baf
